In [1]:
%pylab inline
from ekstra_funktioner import *

# Følgende sætter størrelsen af figurene (i tommer).
# Du kan prøve at ændre størrelsen, hvis figurene er for små eller for store.
pylab.rcParams['figure.figsize'] = (10.0, 6.0)


Populating the interactive namespace from numpy and matplotlib

Find en funktion

Din mor fandt under oprydning af den gamle kommode et spændende datasæt. Hun kunne rigtig godt tænke sig at vide, hvordan den underliggende funktion, dataene kommer fra, ser ud, så hun har spurgt dig om hjælp!

Lad os starte med at tage et kig på dataene:


In [2]:
x,y = ukendte_data()
plot_data(x,y)


Opgave 1

Hjælp din mor med at finde den funktion, som dataene højst sandsynligt stammer fra.

Start med at gætte på familien af funktioner, du mener dataene kunne komme fra. Hvad er mulige bud?

Det kan nogle gange være en hjælp at prøve at plotte funktionerne. Du kan f.eks. plotte en sinusfunktion ved at skrive plot(x, sin(x)). Prøv at teste nogle forskellige funktioner herunder og se, om du kan få dem til at passe med dataene.


In [3]:
x2 = linspace(-10, 10, 200)   # Vi laver først nogle x-værdier, vi kan 
                              # bruge til at plotte med. Her genereres 
                              # 200 punkter mellem -10 og 10.

plot_data(x,y)                # Vi plotter dataene igen.
plot(x2, 5*sin(x2 - 2))       # Plot en sinus-kurve.
plot(x2, 3*cos(0.7*x2 + 2))   # Plot en cosinus-kurve.
#plot(x2, ...) # Find selv på mere her!


Out[3]:
[<matplotlib.lines.Line2D at 0x7f3f63bef470>]

Opgave 2

Din mor kommer nu i tanke om, at dataene kom fra et polynomium, men hun er helt blank på hvilken orden, polynomiet havde.

Prøv at teste polynomier af forskellige ordener. Koden herunder vil automatisk fitte polynomiet til dataene, så du behøver ikke bekymre dig om alle konstanterne.

Lidt mere forklaring af figuren: Figuren viser to plots. Øverst vises dataene og den funktion, du i øjeblikket har valgt. Nederst vises størrelsen (dvs. den absolutte værdi) af alle konstanterne (koefficienterne) i funktionsforskriften i form af et søjlediagram. Værdien, søjlerne er centreret på, fortæller hvilket led, konstanten hører til - 0 svarer til konstantleddet, 1 til leddet med x osv. Med en nummerering af kontanterne, ville funktionen se således ud:

$$ f(x) = a_0 + a_1\cdot x + a_2\cdot x^2 + a_3\cdot x^3 + \ldots $$

Læg mærke til, hvordan konstanterne ($a$'erne) er indekseret - det er dét tal, du kan se på $x$-aksen på den nederste graf. Læg også mærke til, at $y$-aksen i denne graf er logaritmisk.


In [4]:
plot_interaktivt_polynomium(x2)


Hvad sker der med koefficienterne, når du tilføjer flere ordener?

Opgave 3

Din mor er utålmodig. Hun vil vide hvilken orden, polynomiet højst sandsynligt har haft - ellers får du ingen dessert. Hvad svarer du? Hvorfor mener du, at det lige præcis er dén orden, der er den rigtige? Hvorfor ikke en højere/lavere?


In [ ]: